Some applications require sampling of related analog signals by multiple devices. Typically, the sampling must be synchronized between the devices for the data output by the devices to be useful. For example, in sonar applications, sound waves transmitted or received may be sampled by multiple devices. For calculation of time of flight information from the sampled signals to be accurate, the sampling must be synchronized. Many sampling applications also require the ability to set a specific output sample rate of the sampled signal, which may be different from and/or asynchronous with a clock frequency used to sample.
Problems can arise, however, when attempting to synchronize sampling at multiple devices and set specific output sample rates at these devices. Attempting to synchronize provision of a sampling clock signal to each of the devices can incur significant board design overhead, as the clock signal routing to each device must be carefully matched. Using one device as a master and providing its clock to other devices can similarly require careful clock signal routing to each of the other devices as well as compensation of the sampling edges between the master and slave devices.